/*
* Conditions Of Use
*
* This software was developed by employees of the Sigmatrix(Beijing) Corporation.
* This software is provided by sigmatrix as a service and is expressly
* provided "AS IS."  Sigmatrix MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
* AND DATA ACCURACY.  Sigmatrix does not warrant or make any representations
* regarding the use of the software or the results thereof, including but
* not limited to the correctness, accuracy, reliability or usefulness of
* the software.
*
* Permission to use this software is contingent upon your acceptance
* of the terms of this agreement.
*
*/
package com.sigmatrix.h5.service;

import java.math.BigDecimal;

import com.microsoft.windowsazure.exception.ServiceException;
import com.sigmatrix.h5.entity.DisDealerAcct;
import com.sigmatrix.h5.entity.DisRebateAudit;
import com.sigmatrix.h5.entity.DisRebateDetail;
import com.sigmatrix.h5.web.Result;
import com.sigmatrix.h5.web.mode.RebateList;
import com.sigmatrix.sc.jdbc.common.service.Service;

/**
 *@ClassName: DisRebateDetailService
 *@Description: 
 *@author MH
 *@date 2017年8月11日 下午4:48:14
 */
public interface DisRebateDetailService extends Service<DisRebateDetail,Integer>{
	/**
	 * 根据经销商查询返利明细，包括返利明细以及累计返利总和
	 *@Title: selectRebateDetailsByDealerId
	 *@Description: 
	 *@return JSONObject
	 *@author MH
	 *@date 2017年8月13日 下午2:50:30
	 *@param dealer
	 *@return
	 *@throws ServiceException
	 */
	@Deprecated
	Result<Object> selectRebateDetailsByDealerId(int dealerId,int pageNo,int pageSize);
	/**
	 * 
	 *@Title: sendWeChatRedPackage
	 *@Description: 
	 *@return Result
	 *@author MH
	 *@date 2017年8月22日 下午5:37:58
	 *@param acct
	 *@param amount
	 *@return
	 *@throws ServiceException
	 */
	Result<Object> sendWeChatRedPackage(DisDealerAcct acct,BigDecimal amount);
	
	/**
	 * 
	 *@Title: save
	 *@Description:自动审核时保存零钱包
	 *@return Integer
	 *@author MH
	 *@date 2018年1月25日 下午2:14:55
	 *@param audit
	 *@return
	 */
	Integer save(DisRebateAudit audit);
	
	RebateList rebateList(Integer dealerId,Short dealerType, int pageNo,int pageSize);
}
